Python Job: Software Engineer

Job added on

Location

Vancouver - Canada

Job type

Full-Time

Python Job Details

Staff - Non Union
Job Category
M&P - AAPS
Job Profile
AAPS Salaried - Information Systems and Technology, Level B
Job Title
Software Engineer
Department
Slingerland Research Team | Department of Philosophy
Compensation Range
$5,468.83 - $7,878.17 CAD Monthly
The Compensation Range is the span between the minimum and maximum base salary for a position. The midpoint of the range is approximately halfway between the minimum and the maximum and represents an employee that possesses full job knowledge, qualifications and experience for the position. In the normal course, employees will be hired, transferred or promoted between the minimum and midpoint of the salary range for a job.
Posting End Date
February 24, 2023
Note: Applications will be accepted until 11:59 PM on the day prior to the Posting End Date above.
Job End Date
May 31, 2024
There are two (2) vacancies open for this fixed term, salaried position.
Job Summary
The Department of Philosophy seeks to appoint a motivated, full-time, full stack Software Engineer to work on the world's largest comprehensive online quantitative and qualitative database of history. The Database of Religious History (DRH) is an exciting and successful science-humanities project that has received over a decade of funding and widespread media coverage, including in both Science and Nature. The vision of the project is to help quantify the world’s historical knowledge, serve as a centralized system for scholarly knowledge of the historical record in the humanities, and to provide datasets needed to answer profound questions about the cultural evolution of civilizations.
The successful candidate will have a relevant degree in computer science, software engineering, computer systems engineering, operational research, information technology, or similar. Candidates should have experience working with complex web applications. This includes knowledge and/or experience with front-end web development using HTML/CSS/JS and React, back-end development using Django and node.js. Knowledge of Docker, Ansible and AWS are also required. Working closely with the Technical Director and reporting directly to the Project Director, the successful candidate will be required to work with a variety of stakeholders, including the Associate Director, Managing Editor, historians, and administrative personnel as part of a worldwide team. The role is based at UBC Vancouver Campus, but may require travel.
Under the direction of the Technical Director and the project team (including the software developers), the postholder’s main role will be maintaining and contributing to the ongoing development and expansion of the DRH project, including software development, server administration, and advising project leaders as required. Responsibilities will also include interviewing and mentoring more junior engineers and collaborating with other software developers. The successful candidate must have excellent written and verbal communication and organizational skills.

Organizational Status
You will report to the Project Director. You may be asked to perform your work remotely part of the time.

Work Performed
  • Work with a team of professionals to expand and develop the existing system. These will include the other software developers and non-technical personnel in the sciences and humanities.
  • Provide feedback and guidance to other developers on the design and features of the system, consistent the Technical Director’s vision for the project. These will include backend architectural decisions and front-end design decisions.
  • Provide regular updates to the Project Director, Technical Director and other relevant stakeholders
  • Assist with running training programs for historians/RAs who will enter information into the system
  • Troubleshoot complex and unseen database and server issues in an accurate and timely manner
  • Create standard procedures and documentation to enhance scalability and performance of existing architecture and maintaining records on repair and installation
  • Ensure database disaster recovery by working with software developers to test and manage backup procedures to ensure continuous availability and speedy recovery.
  • Supervise installation, migration and upgrade of the application
  • Prepare reports on database scalability, performance, and capacity planning as needed
  • Stay updated with new technologies and analyze such technologies to bring into scope of existing infrastructure.
  • Ensure that the conceptual design considers both back-end architecture and front-end accessibility for end-users
  • Design and develop or the assist in the design and development of new technologies related to the DRH (e.g., Python and R packages)

Consequence of Error/Judgement
This position makes decisions regarding technical support through application of established principles. Errors in judgement result in significant impact on many different levels at the University ranging from faculty members to the department. There may be serious repercussions of any errors to the reputation of the faculty members and their research. Good design decisions will result in well-written code, with clear software implementation which is easy to test, enhance and maintain. Poor judgment in either of these aspects will result in delays and reduced productivity for the entire collaboration.

Supervision Received
Oversight will be provided by the Project Director. The position requires a strong work ethic and ability to take direction and work within a collaborative framework to achieve milestones and timelines. Results to be reviewed for achievement of overall objectives.

Supervision Given
None.

Minimum Qualifications
Undergraduate degree in a relevant discipline. Minimum of two years of related experience, or the equivalent combination of education and experience.

Preferred Qualifications
  • Degree in computer science, software engineering, computer systems engineering, operational research, information technology, or similar.
  • Programming experience in one or more relevant languages (Python, HTML/CSS/JS)
  • Able to communicate well written and verbally with a wide range of people and to convey information clearly and appropriately
  • Experience providing recommendations based on matching goals of project, evaluation of expert evaluations (e.g., historians, software engineer) and personal research (e.g., learning about new technologies online)
  • Self-motivation and the ability to organize own workload
  • Ability to work to a high standard of accuracy and precision
  • Experience in participating and contributing to a team
  • Experience with web technologies (in particular Django, React, node.js, Docker, Ansible, AWS)
  • Experience in Linux server administration
  • Previous experience in a similar position
  • Demonstrated ability to adapt and contribute to a rapidly changing environment, where goals and specifications change as the software project grows.
  • Demonstrated ability to work with stakeholders in different disciplines, ideally including between humanities and sciences, and with different levels of technical ability
Questions about the positions can be directed to the Technical Director, Dr. Michael Muthukrishna: [email protected].